class Base1 {
    public int a;
    public int b;

    public int c = 199;
    public void methondBase() {//方法名称不一样
        System.out.println("Base");
    }
}
class Derived extends Base1 {
    //子类父类不存在同名变量
    public int c = 9;

    public void methondDerived() {//方法名称不一样
        System.out.println("Derived");
    }
    public void methondBase(int a) {//方法名称一样
        System.out.println("Derived");
    }

    public void func() {
        System.out.println(a);//super.a
        super.methondBase();
        methondDerived();
    }

    public void func1() {
        //子类有 那么就拿子类的 子类没有 就拿父类的
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);//如果父类和子类有同名的成员变量，那么优先访问子类
        System.out.println(super.c);//暂且理解为代表父类的引用
        //super只是一个关键字，最大的作用其实
        //就是在你写代码或读代码的时候，体现出更好的可读性
        //只能在非静态方法中使用
        //super只能指代直接的父类
    }
}
public class Test2 {
    public static void main(String[] args) {

        final int[] array = {1,2,3};
        //array = new int[10];
        array[0] = 19;
    }


    public static void main1(String[] args) {
        Derived derived = new Derived();
        System.out.println(derived.a);
        derived.func();
    }
}
